﻿#include <iostream>
using namespace std;



//计算一年的第几天
//https://www.nowcoder.com/practice/769d45d455fe40b385ba32f97e7bcded?tpId=37&&tqId=21296&rp=1&ru=/activity/oj&qru=/ta/huawei/question-ranking
//class Date
//{
//
//    friend istream& operator>>(istream& in, Date& d);
//
//
//
//
//
//public:
//
//    int GetMonthDay(int year, int month) const
//
//    {
//
//        const int arr[] = { -1,31,28,31,30,31,30,31,31,30,31,30,31 };
//
//        if ((month == 2) && ((year % 4 == 0 && year % 100 != 0) || (year % 400 == 0)))
//
//        {
//
//            return 29;
//
//        }
//
//        return arr[month];
//
//
//
//    }
//
//    bool operator==(const Date& d) const
//
//    {
//
//        if (_year == d._year && _month == d._month && _day == d._day)
//
//        {
//
//            return true;
//
//        }
//
//        return false;
//
//    }
//
//    Date& operator+=(int day)
//
//    {
//
//        _day += day;
//
//        while (_day > GetMonthDay(_year, _month))
//
//        {
//
//            _day -= GetMonthDay(_year, _month);
//
//            _month++;
//
//            if (_month == 13)
//
//            {
//
//                _month = 1;
//
//                _year++;
//
//            }
//
//        }
//
//        return *this;
//
//    }
//
//
//
//    Date(int year = 1999, int month = 1, int day = 1)
//
//    {
//
//
//
//        _year = year;
//
//        _month = month;
//
//        _day = day;
//
//    }
//
//    int Days()
//
//    {
//
//        Date tmp(_year);
//
//        int n = 1;
//
//        while (!(tmp == *this))
//
//        {
//
//            tmp += 1;
//
//            n++;
//
//        }
//
//        return n;
//
//    }
//
//
//
//
//
//private:
//
//    int _year;
//
//    int _month;
//
//    int _day;
//
//};
//
//istream& operator>>(istream& in, Date& d)
//
//{
//
//    in >> d._year >> d._month >> d._day;
//
//    return in;
//
//}



//int main() {
//
//    Date a;
//
//    while (cin >> a) { // 注意 while 处理多个 case
//
//        cout << a.Days() << endl;
//
//    }
//
//}






//2.日期差值
//https://www.nowcoder.com/practice/ccb7383c76fc48d2bbc27a2a6319631c?tpId=62&&tqId=29468&rp=1&ru=
//class Date
//{
//
//public:
//    int GetMonthDay(int year, int month) const
//    {
//        const int arr[] = { -1,31,28,31,30,31,30,31,31,30,31,30,31 };
//        if ((month == 2) && ((year % 4 == 0 && year % 100 != 0) || (year % 400 == 0)))
//        {
//            return 29;
//        }
//        return arr[month];
//
//    }
//    bool operator==(const Date& d) const
//    {
//        if (_year == d._year && _month == d._month && _day == d._day)
//        {
//            return true;
//        }
//        return false;
//    }
//    Date& operator+=(int day)
//    {
//        _day += day;
//        while (_day > GetMonthDay(_year, _month))
//        {
//            _day -= GetMonthDay(_year, _month);
//            _month++;
//            if (_month == 13)
//            {
//                _month = 1;
//                _year++;
//            }
//        }
//        return *this;
//    }
//
//
//    bool operator < (const Date& d) const
//    {
//        if (_year < d._year)
//        {
//            return true;
//        }
//        if (_year == d._year && _month < d._month)
//        {
//            return true;
//        }
//        if (_year == d._year && _month == d._month)
//        {
//            return _day < d._day;
//        }
//        return false;
//    }
//
//    Date(int year = 1999,int month=1, int day=1)
//    {
//
//        _year = year;
//        _month = month;
//        _day = day;
//    }
//    int operator - (const Date& d)
//    {
//        Date max(*this);
//        Date min(d);
//        if (*this < d)
//        {
//            max = d;
//            min = *this;
//        }
//        int n = 1;
//        while (!(min == max))
//        {
//            min += 1;
//            n++;
//        }
//        return n;
//    }
//
//private :
//    int _year;
//    int _month;
//    int _day;
//};
//
//int main() {
//   int a ,b ;
//    while (cin >> a >> b) { // 注意 while 处理多个 case
//
//        //20110412
//        Date d1(a / 10000, (a / 100) % 100, a % 100);
//        Date d2(b / 10000, (b / 100) % 100, b % 100);
//        cout << d1-d2 << endl;
//    }
//}

// 64 位输出请用 printf("%lld")


//3.求1+2+3+...+n，要求不能使用乘除法、for、while、if、else、switch、case等关键字及条件判断语句（A?B:C)
//https://www.nowcoder.com/practice/7a0da8fc483247ff8800059e12d7caf1?tpId=13&tqId=11200&tPage=3&rp=3&ru=/ta/coding-interviews&qru=/ta/coding-interviews/question-ranking
//class Solution {
//public:
//    int Sum_Solution(int n) {
//		
//		Sum arr[n];
//		return count;
//    }
//	class  Sum
//	{
//	public:
//		Sum() {
//			count = count + i;
//			i++;
//		 }
//	};
//
//
//private:
//    static int i;
//    static int count;
//};
//int Solution::i = 1;
//int Solution::count = 0;


//打印日期

//https://www.nowcoder.com/practice/b1f7a77416194fd3abd63737cdfcf82b?tpId=69&&tqId=29669&rp=1&ru=/activity/oj&qru=/ta/hust-kaoyan/question-ranking
//class Date
//{
//
//public:
//    int getyear()
//    {
//        return _year;
//    }
//    int getmonth()
//    {
//        return _month;
//    }
//    int getday()
//    {
//        return _day;
//    }
//
//    int GetMonthDay(int year, int month) const
//    {
//        const int arr[] = { -1,31,28,31,30,31,30,31,31,30,31,30,31 };
//        if ((month == 2) && ((year % 4 == 0 && year % 100 != 0) || (year % 400 == 0)))
//        {
//            return 29;
//
//        }
//        return arr[month];
//    }
//    Date& operator+=(int day)
//    {
//        _day += day-1;
//        while (_day > GetMonthDay(_year, _month))
//        {
//            _day -= GetMonthDay(_year, _month);
//            _month++;
//            if (_month == 13)
//            {
//
//                _month = 1;
//
//                _year++;
//            }
//        }
//        return *this;
//    }
//    Date(int year = 1999, int month = 1, int day = 1)
//
//    {
//        _year = year;
//
//        _month = month;
//
//        _day = day;
//
//    }
//
//private:
//
//    int _year;
//
//    int _month;
//
//    int _day;
//
//};
//
//
//int main() {
//    int a, b;
//    while (cin >> a >> b) { // 注意 while 处理多个 case
//        Date d1(a);
//        d1 += b;
//        printf("%d-%02d-%02d\n", d1.getyear(), d1.getmonth(), d1.getday());
//    }
//}
//// 64 位输出请用 printf("%lld")




//累加天数
//https://www.nowcoder.com/practice/eebb2983b7bf40408a1360efb33f9e5d?tpId=40&&tqId=31013&rp=1&ru=/activity/oj&qru=/ta/kaoyan/question-ranking
class Date
{
    friend istream& operator>>(istream& in, Date& d1);
   
public:
    int getyear()
    {
        return _year;
    }
    int getmonth()
    {
        return _month;
    }
    int getday()
    {
        return _day;
    }

    int GetMonthDay(int year, int month) const
    {
        const int arr[] = { -1,31,28,31,30,31,30,31,31,30,31,30,31 };
        if ((month == 2) && ((year % 4 == 0 && year % 100 != 0) || (year % 400 == 0)))
        {
            return 29;

        }
        return arr[month];
    }
    Date& operator+=(int day)
    {
        _day += day;
        while (_day > GetMonthDay(_year, _month))
        {
            _day -= GetMonthDay(_year, _month);
            _month++;
            if (_month == 13)
            {

                _month = 1;

                _year++;
            }
        }
        return *this;
    }
    Date(int year = 1999, int month = 1, int day = 1)

    {
        _year = year;

        _month = month;

        _day = day;

    }

private:

    int _year;

    int _month;

    int _day;

};


istream& operator>>(istream& in, Date& d1)
{
    cin >> d1._year >> d1._month >> d1._day;
    return cin;
}
int main() {
    Date a;
    int b;
    int i;
    cin >> i;
    while (cin >> a >> b) { // 注意 while 处理多个 case
        a += b;
        printf("%d-%02d-%02d\n", a.getyear(), a.getmonth(), a.getday());
        i--;
        if (i == 0)
        {
            break;
        }
    }
}
